A cloud-computing management platform that manages a cloud-computing environment may maintain a service catalog that describes services that the cloud-computing environment can provide. When a user requests a service described by an entry in the service catalog, the cloud-computing management platform uses information comprised by the entry to provide the requested service by provisioning a virtual machine (VM) or by installing, configuring, or otherwise deploying application software. Fulfilling the user's request may further comprise, but is not limited to, (i) provisioning; (ii) deprovisioning; (iii) and/or modifying an attribute(s) of the service described by the entry in the service catalog. Cloud federation may be used where multiple external and internal cloud computing services best support business needs.
As services including one or more virtual machines (VMs) and applications running on them are provisioned in a cloud computing environment, a cost model for the service is required by the cloud providers. Conventionally, cloud service providers (CSPs) have the capability to bill for usage of their services according to pre-defined billing metrics, for example, number of users, length of time the user requires the service, and so on. However, there can also be a service level agreement (SLA) associated with the services a user procures from a cloud service provider, and the CSP can incur a cost if it does not meet the SLAs that the user has negotiated in the user's contract with the provider.